// function fn() {
//     return 1
// }
// const fn1 = () => {

// }

// function fn(a: number, b: string = 'hello', c?: boolean): void {
//     console.log(a);
//     console.log(b);
//     console.log(c);
// }
// fn(1);

// arguments 伪数组 没有数组的方法 只有数组的长度
// 伪数组怎么转真正的数组
// function fn(a: number, ...arrs: number[]) {
//     console.log(...arrs);
// }
// fn(1, 2, 3, 4, 5)

// function fn(a: number, b: number): number {
//     return a + b
// }
// console.log(fn(1,2));


// function fn(one: number | string, two: number | string) {
//     return one + two;
// }
// fn(1, 2)
// fn('ad', 'ce')

// 函数重载
// function fn(one: number, two: number): number
// function fn(one: string, two: string): string
// function fn(one: any, two: any): any {
//     return one + two
// }
// fn(1, 2)
// fn('ad', 'ce')
// fn(true,false)

// 函数的类型
type fnType = (a: number, b: number) => number
const fn: fnType = (a: number, b: number) => {
    return a + b
}